新手问个小问题>1
来源:百度知道 编辑:UC知道 时间:2024/05/29 10:15:45
我是一个新手,学C才一周,问个小问题,
在调用MAX函数时,那个东西有没有要求只能2个数比大小。
如:d=max(a,b,c);能这样用吗
下面是我刚做的,他的运行结果只能比较出前2个数的大小。
#include<stdio.h>
void main()
{
int max(int x,int y);
int a,b,c,d,e,f,g,h;
scanf("%d,%d,%d,%d,%d,%d",&a,&b,&c,&d,&e,&f,&g);
h=max(a,b,c,d,e,f,g);
printf("max=%d\n",h);
}
int max (int x,int y)
{int z;
if(x>y) z=x;
else z=y;
return (z);
}
如果只能求2个数的大小,那怎么改才能比较更多数的大小。
小弟谢了。
在调用MAX函数时,那个东西有没有要求只能2个数比大小。
如:d=max(a,b,c);能这样用吗
下面是我刚做的,他的运行结果只能比较出前2个数的大小。
#include<stdio.h>
void main()
{
int max(int x,int y);
int a,b,c,d,e,f,g,h;
scanf("%d,%d,%d,%d,%d,%d",&a,&b,&c,&d,&e,&f,&g);
h=max(a,b,c,d,e,f,g);
printf("max=%d\n",h);
}
int max (int x,int y)
{int z;
if(x>y) z=x;
else z=y;
return (z);
}
如果只能求2个数的大小,那怎么改才能比较更多数的大小。
小弟谢了。
你这里写了{h=max(a,b,c,d,e,f,g); };六个变量:
而这里只写了[ int max (int x,int y)
{int z;
if(x>y) z=x;
else z=y;
return (z); ]两个变量
当然不行啦
你应该同样写六个
就是 int max(int x,int y,ing z,int a,int b,int c)
if(......)
这种只能拿来比较六个数的大小!
不过如果真要比较六个数的话!不应该用这种方法!
太麻烦了!比较三个和两个还可以!
不然就是浪费内存空间!
三个的情况:
int max (int x,int y,int z)
{int t;
if(x>y)
{if(z>x)
{t=z;}
else t =x;}
else if(y>z)
t=y;
else t=z;
return (t);
}
依次类推
如果是自己经常用的函数,你可以自己写一些宏留着,要用调用自己的头文件加载,不也一样嘛...
max 不过是个函数名。
具体的功能还要看函数体